<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>

    <script>

        // ajax('get', 'http://121.43.116.41/php/detail.php?id=3', true, function (res) {
        //     console.log(res);
        // }); 

        // ajax({
        //     type: 'get',
        //     url: 'http://121.43.116.41/php/2.php',
        //     dataType: 'string',
        //     success: res => {
        //         console.log(res);
        //     }
        // })


        // ajax({
        //     type: 'get',
        //     url: 'http://121.43.116.41/php/detail.php?id=3',
        //     // dataType: 'json',
        //     success: res => {
        //         console.log(res);
        //     }
        // })


        ajax({
            type: 'get',
            url: 'http://121.43.116.41/php/get.php',
            data: {
                username: 'yy',
                password: '123'
            },
            success: res => {
                console.log(res);
            }
        })


        ajax({
            type: 'get',
            url: 'http://121.43.116.41/php/detail.php',
            data: {
                id: 1
            },
            success: res => {
                console.log(res);
            }
        })


























        function ajax(options) {
            const {
                // 请求方式
                type,
                // 请求的路径
                url,
                // 是否异步
                async = true,   // 给变量默认值
                // 确认后端返回的数据类型
                dataType = 'json',   // 默认是json
                // 
                data = {},
                // 数据请求成功之后做的事情
                success
            } = options;


            // 把这个data变成字符串   {username:'yy' , password : 123}   username=yy&password=123

            let params = '';
            // 遍历对象
            for (let key in data) {
                params += `${key}=${data[key]}&`;
            }
            params = params.substring(0, params.length - 1);
            // console.log(params);




            const xhr = new XMLHttpRequest();
            xhr.open(type, url + '?' + params, async);
            xhr.send();
            xhr.onreadystatechange = function () {
                if (this.readyState === 4 && this.status === 200) {
                    let data = this.responseText;
                    // console.log(data);
                    // 判断后端返回的数据类型
                    if (dataType === 'json') {
                        data = JSON.parse(data);
                    }


                    // 拿到数据之后做不同的事情
                    success(data);

                }
            }
        }

    </script>

</body>

</html>